#pragma once

#include <iostream>
#include <string>
#include <functional>

using task = std::function<void()>;//不仅仅可以只是个Task, 可以是任何的执行任务
//用包装器包装起来，直接调用使用

class Task
{
public:
    Task(){}
    Task(int a, int b) : _a(a), _b(b), _result(0)
    {
        _result = _a + _b;
    }

    void Excute()
    {
        _result = _a + _b;
    }
    std::string ResultTostring()
    {
        return std::to_string(_a) + "+" + std::to_string(_b) + "=" + std::to_string(_result);
    }
    std::string DebugtTostring()
    {
        return std::to_string(_a) + "+" + std::to_string(_b) + "=" + "?";
    }

    void operator()()
    {
        Excute();
    }
private:
    int _a;
    int _b;
    int _result;
};